import axios from "axios";
import baseConfig from "./base";

const http2 = axios.create();

baseConfig(http2);
http2.defaults.baseURL = "/jianshu";

export default http2;

// import axios from "axios";

// const http2 = axios.create({
//   baseURL: "/jianshu",
//   timeout: 60000,
// });

// http2.defaults.transformRequest = (data) => {
//   // 按照你后台的处理, 这里要求post请求要求 urllencode 方式
//   // 如果不设置,按照 json 格式处理, axios内部会自动识别常用的数据格式, 自动设置请求头中的Content-Type
//   if (_.isPlainObject(data)) data = qs.stringify(data);
//   return data;
// };

// // http2.defaults.validateStatus = (status) => status >= 200 && status < 300;

// // http2.defaults.headers = {
// //   ["csrf-token"]: localStorage.getItem("token") || "自定义",
// // };

// // 拦截器: 在所有配置项处理完, 即将按照配置项向服务器发送请求之前, 先执行请求拦截器, 我们子啊请求拦截器中, 可以对处理好的配置项在进行修改
// http2.interceptors.request.use(
//   (config) => {
//     // config.headers["csrf-token"] = localStorage.getItem("token") || "zdy";
//     return config;
//   },
//   (err) => {
//     return process.reject(err);
//   }
// );

// // 响应拦截器: 请求结束(返回一个promise实例), 在即将执行我们说的then/catch之前, 触发响应拦截器
// http2.interceptors.response.use(
//   (response) => {
//     return response.data;
//   },
//   (reason) => {
//     let status = reason?.response?.status,
//       code = reason?.code;
//     if (status) {
//       // 服务器有返回结果, 但是状态码没见过validateStatus校验
//       switch (+status) {
//         case 404:
//           console.log("请求地址不存在, 请更正~~~");
//           break;
//         case 403:
//           // cookie中的verifyToken与cookie不匹配, 需要重新获取向原生ios的cookie
//           break;
//         case 500:
//           console.log("服务器发生未知错误, 请联系管理员~~");
//           break;
//       }
//     } else if (code === "ECONNABORTED") {
//       // 请求超时
//       console.log("当前请求已超时, 请稍后重试");
//     } else if (axios.isCancel(reason)) {
//       // 请求中断
//       console.log("当前请求被中断, 请检查代码~~~");
//     } else {
//       // 断网处理
//       console.log("当前网络异常, 请稍后重试");
//     }

//     // 提示过后, 还是继续执行用户自己设定的catch方法
//     return Promise.reject(reason);
//   }
// );

// export default http2;
